package test;

public class Extends {
    public static void main(String[] args) {
        Son son = new Son();
    }
}
class Father{
    int a = 10;
    int b = 20;
    public void func1(){
        System.out.println("func1");
    }
}
class  Son extends Father{
    int a = 5;
    int c = 3;
   public void printF(){
       System.out.println(super.a);//访问父类的a,super只能访问父类中有的变量
       System.out.println(super.b);
       //System.out.println(super.c);//error,父类中不存在c
       System.out.println(this.a);//改为a，都是子类的a
       System.out.println(this.b);//this可以访问父类到子类，但是如果子类存在同名变量，则优先访问子类的
       System.out.println(this.c);
    }
    public void func2(){
        System.out.println("func2");
    }
    public void func1(int a){
        System.out.println("ff");
    }
    public void func1(){
        System.out.println("ff");
    }
    public void testFunc(){
       super.func1();//调用父类的func1方法，super提高代码可读性
       this.func2();
       //方法的重载
       this.func1(2);//调用子类的方法，this提高代码可读性
         this.func1();//子类方法
    }

}